package com.yh.service;

import com.yh.model.Permission;
import com.yh.model.Role;

import java.util.List;

/**
 * ClassName:RoleService
 * Package:com.yh.service
 * Time: 2024/6/24
 */
public interface RoleService {
    /**
     * 查询所有角色
     * @return
     */
    List<Role> findAll();

    /**
     * 添加角色
     * @param role
     */
    void save(Role role);

    /**
     * 根据用户id查询用户详情(用户 角色 权限,两个关系表)
     * @param id 用户id
     * @return 用户详情
     */
    Role findById(Integer id);

    /**
     * 查询角色没有的权限集合
     * @param id 角色id
     * @return  权限集合
     */
    List<Permission> findOthersPermissionByRoleId(Integer id);

    /**
     * 为角色添加权限(中间表)
     * @param roleId 角色id
     * @param ids 权限集合
     */
    void addPermissionToRole(Integer roleId, Integer[] ids);

    /**
     * 删除指定的角色信息(并且删除关系表中的关联数据)
     * @param id 角色id
     */
    void deleteRole(Integer id);
}
